GtkStyleSet: Add method to register border property.
authorCarlos Garnacho <carlosg@gnome.org>
Sun, 7 Mar 2010 18:57:53 +0000 (19:57 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:36:50 +0000 (15:36 +0100)
gtk/gtkstyleset.c
gtk/gtkstyleset.h

index 6ac544294d85110c7b48011b476a40a00c6f70c2..c26eb3cdbdd583b97dd5db5759cd7cd3c91fa58a 100644 (file)
@@ -69,6 +69,7 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   GdkColor black = { 0, 0, 0, 0 };
   GdkColor white = { 0, 65535, 65535, 65535 };
   PangoFontDescription *font_desc;
+  GtkBorder padding = { 0 };
 
   object_class->finalize = gtk_style_set_finalize;
 
@@ -82,6 +83,8 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   gtk_style_set_register_property_font ("font", font_desc);
   pango_font_description_free (font_desc);
 
+  gtk_style_set_register_property_border ("padding", &padding);
+
   g_type_class_add_private (object_class, sizeof (GtkStyleSetPrivate));
 }
 
@@ -249,6 +252,23 @@ gtk_style_set_register_property_font (const gchar          *property_name,
   g_value_unset (&value);
 }
 
+void
+gtk_style_set_register_property_border (const gchar *property_name,
+                                        GtkBorder   *initial_value)
+{
+  GValue value = { 0 };
+
+  g_return_if_fail (property_name != NULL);
+  g_return_if_fail (initial_value != NULL);
+
+  g_value_init (&value, GTK_TYPE_BORDER);
+  g_value_set_boxed (&value, initial_value);
+
+  gtk_style_set_register_property (property_name, GTK_TYPE_BORDER, &value);
+
+  g_value_unset (&value);
+}
+
 void
 gtk_style_set_register_property_int (const gchar *property_name,
                                      gint         initial_value)
index 986fdb0dbdead392214f5949af6800f761c8f288..ff1b859a60e7facb887d331425d276a447f70f9a 100644 (file)
@@ -24,6 +24,9 @@
 #include <gdk/gdk.h>
 #include "gtkenums.h"
 
+/* GtkBorder is defined there */
+#include "gtkstyle.h"
+
 G_BEGIN_DECLS
 
 #define GTK_TYPE_STYLE_SET         (gtk_style_set_get_type ())
@@ -57,6 +60,8 @@ void gtk_style_set_register_property_color  (const gchar *property_name,
                                              GdkColor    *default_value);
 void gtk_style_set_register_property_font   (const gchar          *property_name,
                                              PangoFontDescription *initial_value);
+void gtk_style_set_register_property_border (const gchar *property_name,
+                                             GtkBorder   *initial_value);
 void gtk_style_set_register_property_int    (const gchar *property_name,
                                              gint         default_value);
 void gtk_style_set_register_property_uint   (const gchar *property_name,